package com.wan.controller;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wan.common.R;
import com.wan.pojo.User;
import com.wan.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpSession;
import java.util.Map;

@Slf4j
@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

    /**
     * 移动端用户登录
     * @param map
     * @param session
     * @return
     */
    @PostMapping("/login")
    public R<User> login(@RequestBody Map map, HttpSession session){
        log.info("收到数据：{}",map.toString());
        // 获取手机号
        String phone = map.get("phone").toString();
        // 进行验证码比对（用户输入的验证码和生成的验证码进行比对）
            LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
            queryWrapper.eq(User::getPhone,phone);
            // 有数据 根据手机号查询用户表
            User user = userService.getOne(queryWrapper);
            // 判断是不是新用户 新用户进行注册
            if (user == null){
                // 表示是新用户
                user =new User();
                user.setPhone(phone);
                user.setStatus(1);
                userService.save(user);
            }
            // 将登录之后用户的id存入session域中
            session.setAttribute("user",user.getId());
            return R.success(user);
        // 比对不成功提示验证码错误
//        return R.error("验证码错误，请输入正确验证码！");
    }
}
